#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar sendFlag,adt,a,ot,dcf;
uint otts;
uchar ott[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
sbit start=P1^1;
sbit eoc=P1^2;
sbit oe=P1^3;
sbit clock=P1^6;
sbit ale=P1^5;
sbit led=P1^7;
void InitUART(void);
void sendChar(uchar Value);
void main()
{
	start=0;
	oe=0;
	ale=0;
	clock=0;
	InitUART();
	while(1)
	{
		for(dcf=0;dcf<32;dcf++)
		{
			led=1;
			clock=1;
			_nop_();
			_nop_();
			clock=0;
			ale=0;
			_nop_();
			clock=1;
			_nop_();
			_nop_();
			clock=0;
			start=0;
			_nop_();
			clock=1;
			_nop_();
			_nop_();
			clock=0;
			ale=1;
			_nop_();
			clock=1;
			_nop_();
			_nop_();
			clock=0;
			start=1;
			_nop_();
			clock=1;
			_nop_();
			_nop_();
			clock=0;
			ale=0;
			_nop_();
			_nop_();
			clock=1;
			_nop_();
			_nop_();
			clock=0;
			start=0;
			_nop_();
			_nop_();
			clock=1;
			_nop_();
			_nop_();
			clock=0;
			for(a=0;a<10;a++)
			{
				clock=1;
				_nop_();
				_nop_();
				clock=0;
			}
			while(!eoc)
			{
				clock=1;
				_nop_();
				_nop_();
				clock=0;
				_nop_();
			}
			clock=1;
			oe=1;
			_nop_();
			_nop_();
			clock=0;
			ot=P0;
			_nop_();
			_nop_();
			clock=1;
			_nop_();
			_nop_();
			clock=0;
			oe=0;
			_nop_();
			clock=1;
			led=0;
			_nop_();
			clock=0;
			for(a=0;a<10;a++)
			{
				clock=1;
				_nop_();
				_nop_();
				clock=0;
			}
			ott[dcf]=ot;
			clock=1;
			_nop_();
			_nop_();
			clock=0;
		}
		clock=1;
		_nop_();
		_nop_();
		clock=0;
		for(dcf=0;dcf<32;dcf++)
		{
			clock=1;
			otts+=ott[dcf];
			clock=0;
			_nop_();
		}
		sendChar(otts/32);
		clock=1;
		_nop_();
		_nop_();
		clock=0;
		_nop_();
	}
}
void InitUART(void)
{
    TMOD = 0x20;
    SCON = 0x50;
    TH1 = 0xFD;
    TL1 = TH1;
    PCON = 0x80;
    EA = 1;
    ES = 1;
    TR1 = 1;
}
void serInt() interrupt 4//????
{
    if(RI)
    {
        RI = 0;
    }
    if(TI)  
    {
        TI = 0;
        sendFlag = 0;
    }  
}
void sendChar(uchar Value)  //??
{
	   while(sendFlag);
     SBUF = Value;       
     sendFlag = 1;
}